/*
 *  EngineeringConst.h
 *  EngLibJDA
 *
 *  Created by Jeremy Ames on 5/11/13.
 *  Copyright 2013 Jeremy Ames. All rights reserved.
 *
 */

namespace MathConstants
{
    double pi = 3.14;
}

namespace SIPhysicalConstants
{
    // From physics.nist.gov ->
    //  Estimated relative uncertainty reported in [brackets]
    
    // Speed of light in a vacuum [exact]
    double c0 = 299792458.0;    //  m/s
    //  Magnetic constant [exact]
    double mu0 = 4.0e-7 * MathConstants::pi;    //  N/A^2
    //  Electric constant [exact]
    double eps0 = 1.0 / (mu0 * c0 * c0);    //  F/m
    //  Newtonian constant of gravitation [1.2e-4]
    double G = 6.6738480;   //  m^3 /(kg * s^2)
    //  Panck conatant [4.4e-8]
    double h = 6.6260695729e-34;    //  J-s
    //  h/2*pi [4.4e-8]
    double hbar = 1.05457172647e-34;    //  J-s
    //  Elementary charge [2.2e-8]
    double e = 1.60217656535e-19;   //  C
    //  Magnetic flux quantum [2.2e-8]
    double psi0 = 2.06783375846e-15;    //  Wb
    //  Conductance quantum [3.2e-10]
    double G0 = 7.748091734625e-5;   //  S
    //  Electron mass [4.4e-8]
    double me = 9.1093829140e-31;   //  kg
    //  Proton mass [4.4e-8]
    double mp = 1.67262177774e-27;  //  kg
    //  Proton-electron mass ratio [4.1e-10]
    double mp_over_em = 1836.1526724575;
    //  Fine-structure constant [3.2e-10]
    double alpha = 7.297352569824e-3;
    //  Inverse fine-structure const [3.2e-10]
    double one_over_alpha = 137.03599907444;
    //  Rydberg constant [5.0e-12]
    double Rinf = 10973731.56853955;    //  1/m
    //  Avogadro constant [4.4e-8]
    double Na = 6.0221412927e23;    //  1/mol
    //  Molar gas constant [9.1e-7]
    double R = 8.314462175; //  J/(mol-K)
    //  Boltzmann constant [9.1e-7]
    double k = 1.380648813e-23; //  J/K
    //  Stefan-Bolzmann constant [3.6e-6]
    double sigma = 5.67037321e-8;   //  W/(m^2-K^4)
    //  Electron volt [2.2e-8]
    double eV = 1.60217656535e-19;  //  J
    //  Unified atomic mass unit [4.4e-8]
    double u = 1.66053892173e-27;   //  kg
}
